package gang.org.springframework.boot.condition;

import gang.org.springframework.framework.annotation.GangCondition;
import gang.org.springframework.framework.annotation.GangConditionContext;
import gang.org.springframework.framework.metadata.GangAnnotatedTypeMetadata;

/**
 * 业务意义
 *
 * @author chengang
 * @version 1.0
 * @since 2022-04-01 01:32
 */
public abstract class GangSpringBootCondition implements GangCondition {

    /**
     * 业务意义
     * 1）GangConditionContext 封装类型的context，对BeanFactory, BeanRegister, ClassLoader, ResourceLoader 封装
     * */
    @Override
    public boolean matches(GangConditionContext context, GangAnnotatedTypeMetadata metadata) {
        //TODO
        getMatchOutCome(context, metadata);
        return false;
    }

    public abstract Object getMatchOutCome(GangConditionContext context, GangAnnotatedTypeMetadata metadata);
}
